home *** CD-ROM | disk | FTP | other *** search
- ==============================================================================
- MercuryInstaller Version 1.00a
- for all MS-DOS machines
-
- Copyright (c) 1994,95 Delmonta
- ==============================================================================
-
-
- 第1章 はじめに
-
- 1.1 MercuryInstallerとは
-
- MercuryInstallerは、膨大な数のソフトウェアが収められたCD-ROMや光磁気ディスク
- などから、目的のソフトを迅速に探し出してインストールするためのソフトです。定義
- ファイルは富士通の「フリーソフトウェアコレクション(以下フリコレ)」に標準添付の
- インストーラー「HELPER」と互換性がありますので、MercuryInstallerをHELPERの代わ
- りに使用することもできます。
-
- 1.2 開発の動機
-
- フリコレに標準添付のHELPERは非常に便利なものですが、 当然ながらTownsOS以外で
- は動作しません。
- 最近ではWindowsの普及などにより、TOWNS以外の機種でもCD-ROMを装備することが多
- くなりました。また、フリコレにはDOS汎用、Windows汎用のソフトウェアやデータも多
- く収められています。しかしながらHELPERがTownsOS専用である以上、TOWNS以外の機種
- でのフリコレの使用は非常に困難です。
- また、 TownsOSはMS-DOS Ver3.1をベースにしている[*1]ため、 私の環境ではIBMフ
- ォーマットの光磁気ディスクが正常にアクセスできません。この点でも不便です。
- そこで私は、HELPER互換のインストーラーをDOS汎用の形で開発し、 発表することに
- しました。それが、MercuryInstallerです。
-
- 1.3 HELPERと比べた長所
-
- MercuryInstallerには、HELPERと比べて次のような長所があります。
-
- 1) MS-DOS汎用である。
- MercuryInstallerでは、動作機種の制限が大幅に緩和されています。日本語
- MS-DOS Ver3以上が動く機種なら、ほぼどの機種でも動くはずです。
-
- 2) サブディレクトリを丸ごとコピーできる。
- HELPERでは、ソフトをサブディレクトリごとコピーするには、「インストー
- ル定義ファイル(いわゆるQQQファイル)」というファイルを、 コピーされるソ
- フトと同じディレクトリに置く必要があります。 これでは、 フリコレ以外の
- CD-ROMからのインストールは不可能です(ただし、フリコレ9版のHELPERでは状
- 況はかなり改善されています)。MercuryInstallerではこの点を改善し、 サブ
- ディレクトリを丸ごとコピーする場合にはインストール定義ファイルを書く必
- 要がなくなりました。
-
- 3) LZHファイルの中身をそのままドキュメントファイルとして参照できる。
- 市販のフリーソフトウェア集などでは、配布メディア(通常はCD_ROM)の容量
- や各ソフトウェアの配布規定の関係で、圧縮されたファイルがそのまま入って
- いることがあります。しかしそれでは、圧縮ファイルに収められたドキュメン
- トは解凍しなければ読むことができません。
- MercuryInstallerでは、LHAで圧縮されたファイル(自己解凍型ももちろん対
- 応)に収められたドキュメントファイルも参照することができます。 この際、
- 内部でLHA.EXEは呼び出さず、 MercuryInstallerに内蔵された解凍プログラム
- が処理します。
-
- 4) DIETに対応している。
- MercuryInstallerは、Teddy Matsumoto氏のフリーソフトウェア「DIET」に
- 対応しています。これにより、コピー元にDIETで圧縮されたファイルがある場
- 合は、DIETが常駐している場合でも解凍せずにコピーできます。
- また、ドキュメントがDIETで圧縮されている場合は、逆に解凍して表示しま
- す(この際、 展開処理はDIETの常駐部に任せてあるので、一時的にディスクに
- データを展開します)。
-
- 5) 作品名や作者名で作品を検索できる
- MercuryInstallerでは、従来の「キーワード」つまりジャンル選択のみなら
- ず、作品名や作者名を指定して検索することができます。
-
-
- note:
-
- [*1] TownsOS Ver2.1L40からは、MS-DOS Ver6.2上でも使用できるようになりました。
-
-
- 第2章 起動
-
- 2.1 動作環境
-
- MercuryInstallerは、次の条件をすべて満たす環境で動作します。
-
- o 日本語MS-DOS Ver3以上が動作する
- o 画面に表示可能な文字数が横80×縦24(システム行を除く)以上ある
- o ANSIエスケープシーケンスが使用可能[*2]
-
- なお、動作確認は次の機種で行いました。
-
- o 富士通 FM TOWNS II HR100 + 日本語MS-DOS Ver5.0 L22
- o 富士通 FM TOWNS II HR100 + TownsOS Ver2.1 L20A
- o NEC PC-9821Ce/S2 + 日本語MS-DOS Ver5.0A-H
-
- 2.2 推奨する環境
-
- MercuryInstallerでは、次の環境を推奨します。
-
- o CD-ROM装備
- o FM TOWNSやDOS/V機では、486以上のCPU [*3]
- o カラーディスプレイ使用
-
- 2.3 起動方法
-
- MercuryInstallerを起動するには、コマンドラインから次のように入力します。
-
- MERCURY [<オプション>] [<インデックスファイル>]
-
- <インデックスファイル>は、ディスクに収録されているデータの一覧を記したファイ
- ルです。 省略した場合は、MERCURY.EXEと同じディレクトリにあるHELPER.IDXを使用し
- ます。
- <オプション>には、次のものがあります。
-
- -D<ドライブ名>
-
- コピー元のドライブを強制的に指定します。
- 通常、コピー元のドライブはインデックスファイルと同じですが、インデックスファ
- イルをデータと別のドライブに置きたいときに使用してください。
-
- -C
-
- インデックスファイルのチェックを厳密に行います。
- 通常は、将来HELPERがバージョンアップしたときに備えて、インデックスファイルに
- 間違ったコマンドが書かれていても無視するようになっています。このオプションを指
- 定すると、間違ったコマンドが書かれていた場合はその時点で終了します。このオプシ
- ョンは、自分で作成したインデックスファイルに間違いがないかどうか調べる際に使用
- することができます。
-
- -EF
-
- 富士通FMシリーズ用のエスケープシーケンスを使用します。
- TownsOS(MS-DOS Ver3.1相当)では、 PC-9800シリーズ用の画面スクロールのコードが
- 使用できません。このオプションは、そのかわりに、FMシリーズで正式にサポートされ
- ているコードを使用します。FMシリーズで使用したときに画面がスクロールされない場
- 合に使用してください。
- インデックスファイルの書式については、後述します。
-
- note:
-
- [*2] IBM PC互換機で使用する際は、ANSI.SYSを組み込む必要があります。
-
- [*3] ハードウェア回路としてのテキスト表示機能がなく、 それをソフトウェ
- アで行っているので処理が重くなるためです。 テキスト表示機能をハー
- ドウェアとして持っているPC-98などでは、 比較的遅いCPUでも快適に使
- 用できます。
-
-
- 第3章 基本的な使い方
-
- 3.1 キーワードの選択
-
- MercuryInstallerが起動すると、画面の上半分には検索キーワードの一覧が、下半分
- には収録されている作品の一覧が表示されます。そして、いちばん左上の検索キーワー
- ドが「< >」(これをキーワードカーソルといいます)で囲まれているはずです。
- ここで、カーソルキーを押してください。それにあわせてキーワードカーソルが動き
- ます。
- ここで、スペースキーを押すと、現在カーソルがある位置のキーワードが反転表示さ
- れ、作品の一覧には選択されたキーワードに該当するものだけが表示されます。
- キーワードは複数指定可能です。また、一度指定したキーワードの選択を解除するに
- は、 もう一度その場所にキーワードカーソルをあわせてスペースキーを押してくださ
- い。
-
- 3.2 作品の選択
-
- キーワードを選択[*4]したら、リターンキーを押してください。キーワードカーソル
- が消え、かわりに作品一覧の先頭の作品が反転表示されました。
- ここで、 カーソルキーで反転カーソルを動かし、作品を選択してください(画面に収
- まらない場合は、端までくると上下にスクロールします)。
- キーワード選択に戻るには、ESCキーまたはF10キーを押してください。
-
- 3.3 概要ファイルの表示
-
- 作品選択画面でリターンキーを押すと、画面が切り替わり、その作品の概要ファイル
- が表示されます(1画面に収まらないときは、カーソルキーでスクロールできます)。
- さらに詳しく内容を知りたいときは、F1キーを押してください。画面にはその作品の
- ドキュメントファイル(説明書)が表示されます。もう一度F1キーを押すと、概要ファイ
- ルに戻ります。
- ESCキーまたはF10キーを押すと、作品選択に戻ります。
-
- 3.4 インストール
-
- MercuryInstallerには、選んだ作品をフロッピーディスクやハードディスクにインス
- トールする機能があります。
- 概要ファイル(あるいはドキュメントファイル)が表示されている時に、F3キーを押し
- てください。画面には次のように表示されます。
-
- +------------------------------------------------------------------+
- |インストール先のディレクトリを指定してください |
- |[_ ]|
- +------------------------------------------------------------------+
-
- ここでインストール先のドライブとディレクトリを入力[*5]すると、そのディレクト
- リに作品をコピーすることができます。
- なお、このときのカレントドライブは不定ですから、インストール先はドライブ名か
- ら指定してください。
-
- 3.5 終了
-
- キーワード選択画面でESCまたはF10キーを押すと、画面下に
-
- 終了しますか(y/n)
-
- と表示されます。ここでYを押すと、MercuryInstallerを終了します。[*6]
-
- note:
-
- [*4] HELPERと違い、全く選択しなくてもかまいません。その場合は、収録されている
- 作品すべてが一覧に表示されます。
-
- [*5] ドライブ・ディレクトリを入力してリターンキーを押します。
- 間違えた場合は、BSまたは左カーソルで1文字ずつ戻ります。
- 中止する場合はリターンのかわりにESCキーを押してください。
-
- [*6] インストールの際にはカレントディレクトリが変更されますが、終了する際に元
- に戻すことはしません。ご注意ください。
-
-
- 第4章 便利な使い方
-
- 4.1 作品名の検索
-
- MercuryInstallerでは、作品名や作者名に特定の名前を含むものだけを検索すること
- ができます。
- 作品選択画面で、F1キーを押してください。画面下に
-
- 検索する文字列>
-
- と表示されます。(また、 すでに検索指定がされているときはその文字列も表示されま
- す。)
- ここで、インストール先ディレクトリを入力するのと同じ要領で、文字列を入力して
- ください。作品選択画面には、指定された文字列を作品名または作者名に含む作品[*7]
- だけが表示されます。
- このとき、文字の全角・半角や英字の大文字・小文字、あるいは片仮名・平仮名は区
- 別しません。なお、ワイルドカードなどには今のところ対応していません。
- この指定を解除するには、もう一度作品選択画面でF1を押し、表示されている文字列
- をBSキーですべて消してからリターンキーを押してください。
-
- 4.2 印刷
-
- 概要ファイルあるいはドキュメントファイルが表示されている画面で、そのファイル
- を他の装置に出力するには、F2キーを押してください。そして、出力先ファイルを指定
- してリターンキーを押すと、そのファイルが出力されます。
- デフォルトでは、出力先は「\dev\prn」、つまり標準プリンタになっています。これ
- を別の名前に変更することによって、 別の装置、例えばRS-232Cなどに出力することが
- できます。
-
- [注意]
-
- プリンタに出力する場合、機種によってはシステムにプリンタドライバが組み込まれ
- ている必要があります。
-
- 4.3 子プロセスの発行
-
- 概要ファイルあるいはドキュメントファイルが表示されている画面でF4キーを押す
- と、子プロセスとしてCOMMAND.COMを起動します。
- COMMAND.COMから戻るには、
-
- EXIT<リターン>
-
- と入力してください。
-
- note:
-
- [*7] もちろん、指定された文字列を含んでいても、すでに指定されているキーワード
- に該当しないものは表示されません。
-
-
- 追記 A インデックスファイル仕様書
-
- 本章と次章では、インデックスファイルを作成する方のために、インデックスファイ
- ルおよびインストール定義ファイルの構造を説明します。
-
- A.1 基本フォーマット
-
- インデックスファイルは、基本的には単なるテキストファイルですから、テキストエ
- ディタなどで作成することができます。
- インデックスファイルの行頭のスペース及びタブは無視します。また、空行も無視し
- ます。
- MercuryInstallerでは、インデックスファイルの1行は改行を除いて254バイト以内に
- してください。
-
- A.2 キーワード定義部
-
- インデックスファイルでは、その先頭部分で[*8]検索キーワードを定義しなければな
- りません。定義は次のようにします。
-
- KEYWORD: TOWNS-OS MS-DOS F-BASIC386 GEAR
- KEYWORD: データ ツール ゲーム 静止画
- (後略)
-
- このように、先頭に「KEYWORD:」と書き、その後にキーワードを並べて書きます。上
- の例のように、1行に複数のキーワードを並べたり、 複数行を使用して定義することが
- できます。 なお、1行に複数書く場合、複数のキーワード間は必ず半角のスペースまた
- はタブで区切ってください。全角スペースは区切りとはみなしません。[*9]
-
- A.3 各ソフトの定義
-
- 続いて、各ソフトの名前と収録ディレクトリ名などを定義します。たとえば次のよう
- にします。
-
- PROGRAM: ハガキ印刷 8086|Printman/POSTCARD Ver1.00b
- MAKE: Delmonta
- DIR: \MS_DOS\TOOL\DPRINT
- KEYWORD: MS-DOS ツール OAツール
-
- このように、 まず最初に「PROGRAM:」に続けて作品名を書きます。 それに続けて、
- 「MAKE」「DIR」などのコマンドを書いていきます。[*10]指定できるコマンドには、次
- のものがあります。
-
- MAKE
-
- MAKEコマンドは、その作品の作者名を指定します。MAKEコマンドを省略した場合は、
- 作品一覧の「作者」のところは空欄になります。
-
- KEYWORD
-
- KEYWORDコマンドは、 その作品が該当するキーワードを指定します。複数行にまたが
- って指定することもできます。
-
- DIR
-
- DIRコマンドは、そのソフトが収録されているディレクトリを指定します。 この指定
- は、 (X)COPY/README/MANUALコマンドでパスがルートから指定されていない場合のカレ
- ントディレクトリになります。
- なお、ディレクトリ名の最後には「\」はつけないでください。 ルートディレクトリ
- の場合は単に「DIR:」とだけ指定してください。[*11]
- なお、(X)COPYコマンドなどでファイル名をフルパスで指定する場合は、DIRコマンド
- は必ずしも必要ではありません。
-
- COPY/XCOPY
-
- (X)COPYコマンドは、 そのソフトをインストールするときにどのファイルをコピーす
- るかを指定します。COPYとXCOPYの違いは、 指定されたファイルの中にディレクトリが
- 含まれていた場合に、前者はそのディレクトリの中身もコピーするかどうか逐一問い合
- わせます[*12]が、後者は問い合わせることなくコピーします。
- 複数行に渡って指定することもできます。HELPERと違って最大16個までという制限も
- ありません。なお、(X)COPYコマンドが全く指定されていない場合は、
-
- COPY: *.*
-
- が指定されているものとみなします。
- コピーの対象となるファイルの中に、 拡張子が.QQQであるものが含まれていたとき
- は、それはコピーせず、次章で説明するインストール定義ファイルとして実行します。
-
- README/MANUAL
-
- READMEコマンドは、そのソフトの概要ファイルを指定します。省略された場合は、*.
- GGG(HELPER推奨の形式)、!*.*(LHA's SFXで使用される形式)、READ*.*、*.DOCの順で該
- 当するファイルを探し、最初に見つかったものを概要ファイルとします。[*13]
- MANUALコマンドは、そのソフトのドキュメントファイルを指定します。省略された場
- 合は、 *.RRR、*.MAN、*.DOCの順で該当するファイルを探し、最初に見つかったものを
- ドキュメントファイルとします。
- なお、ともにLHAで圧縮された書庫ファイルの中のファイルを、
-
- ARCHIVE.LZH|README.DOC
- SFX.EXE|!
-
- のように、 書庫ファイル名と中のファイル名を「|」で区切って指定することによっ
- て、直接参照することができます。
- DRIVEコマンドは、次のように、ソフトが収録されているドライブを指定します。
-
- DRIVE: Q
-
- 「ソフトが収録されているドライブ」は、次の順序で有効になります。
-
- 1) コマンドラインの-Dオプションで指定されたドライブ
- 2) DRIVEコマンドで指定されたドライブ
- 3) インデックスファイルのあるドライブ
-
- DRIVEコマンドはインデックスファイルのどの位置にも自由に挿入することができま
- す。
-
- A.4 注意点
-
- MercuryInstallerでは、これまでに述べた以外のコマンドがインデックスファイルに
- あると、それを無視します。これは、HELPERのバージョンアップで新しいコマンドが追
- 加された場合でもそのインデックスファイルをMercuryInstallerで使用できるようにす
- るためです。
- また、コマンド名やキーワードでは、大文字と小文字とは厳密に区別されます。キー
- ワード名の大文字と小文字を間違えた場合はエラーとしますが、コマンド名を小文字で
- 書いた場合は無視されますので注意してください。
- MercuryInstallerでは、 コマンド名とその後の「:」との間に半角のスペースまたは
- タブを挿入することを許していますが、HELPERや他の互換ソフトなどでは対応していま
- せんので注意してください。
- HELPERのGROUPコマンドはサポートされていません。GROUPコマンドは、別パッケージ
- のMercuryFilter [*14]を使用してKEYWORDコマンドに展開してください。
- 1回しか指定できないコマンドを複数回指定した場合は、 最後に指定したものが有効
- になります。
-
- note:
-
- [*8] 厳密にいえば、最初のPROGRAM文より前で。
-
- [*9] 逆にいうと、キーワード中に空白を使用したい場合は全角空白を使用することが
- できます。
-
- [*10] PROGRAMコマンドを先頭に書くこと以外は、順番は自由です。
-
- [*11] DIRコマンドで指定されたディレクトリが(X)COPY/README/MANUALコマンドでのデ
- フォルトディレクトリになる仕様、およびXCOPYコマンドは、 MercuryInstaller
- 独自のものです。
-
- [*12] フリコレ8までのHELPERでは、 サブディレクトリがある場合はそれを黙って無視
- しました。
-
- [*13] HELPERでは、*.GGG、*.DOCの順に該当するファイルを探します。
-
- [*14] フリコレ10に、MercuryInstallerとともに収録されるはずです。
-
-
- 追記 B インストール定義ファイル仕様書
-
- B.1 インストール定義ファイルとは
-
- インストール定義ファイルとは、収録されているソフトのインストールの内容を定義
- するためのスクリプト言語です。
- インストール定義ファイルがない場合は、そのソフトをインストールするときには単
- 純にそのソフトが収録されているディレクトリの全ファイルをコピーします。しかし、
- インストール定義ファイルがあれば、例えばソースプログラムをコピーするか同化を問
- い合わせるようなことができます。
- インストール定義ファイルの拡張子は、必ず.QQQでなければなりません。インストー
- ル定義ファイルを指定するには、インデックスファイルのCOPYコマンドにインストール
- 定義ファイルの名前を指定してください。[*15]
-
- B.2 基本的な書式
-
- 以下に、インデックス定義ファイルの例を示します。
-
- 1 COPY *.*
- 2 IF ソースファイルもコピーしますか?
- 3 COPY SOURCE\*.*
- 4 ENDIF
-
- このように、インストール定義ファイルには1行に1つのコマンドを書きます。上の例
- の3行目のように行頭にスペースを置いたり、 あるいは空行を入れたりすることもでき
- ます。
-
- B.3 コマンドリファレンス
-
- COPY <コピー元ファイル> [<コピー先>]
- --------------------------
- ファイルをコピーします。コピー元ファイルには、ワイルドカードが使用可能です。
- なお、コピー元ファイルのカレントディレクトリはそのソフトが収録されているディ
- レクトリ(つまり、 インデックスファイルのDIRコマンドで指定されたディレクトリ)、
- コピー先のカレントディレクトリはユーザーがインストール先として指定した(あるい
- はCHDIRコマンドで変更した)ディレクトリです。
-
- XCOPY <コピー元ファイル> [<コピー先>]
- --------------------------
- COPYコマンドに加えて、サブディレクトリの内容をコピーする際に逐一問い合わせず
- 黙ってコピーします。[*16]
-
- RENAME <変更前のファイル名> <変更後のファイル名>
- --------------------------
- ファイル名を変更します。なお、指定はコピー先のカレントディレクトリからの相対
- パスで指定してください。また、ワイルドカードは使用できません。
-
- CHDIR <移動したいディレクトリ>
- --------------------------
- コピー先のカレントディレクトリを変更します。 以降の(X)COPYコマンドでコピー先
- のディレクトリを相対パスで指定した場合に、このパスが基準になります。
-
- MKDIR <作成したいディレクトリ>
- --------------------------
- サブディレクトリを作ります。ディレクトリ名はコピー先のカレントディレクトリか
- らの相対パスで指定します。
-
- IF
- --------------------------
- ユーザーに問い合わせを行い、その結果で条件分岐をします。次のような構文で書き
- ます。
- なお、ELSEブロックはなくてもかまいません。この場合、 Noのときは何も行わ
- れません。
-
- PAUSE <メッセージ>
- ------------------------
- 画面にメッセージを表示し、キー入力を待ちます。例えばフロッピーディスク2
- 枚にインストールする際に、 フロッピーの入れ替えの指示をする際などに使用し
- ます。
-
- LOOK,PLAY
- ------------------------
- これらはHELPERでは画像ファイルを表示したり音楽データファイルを演奏した
- りするためのものですが、MercuryInstallerでは何もしません。
-
- INST <ファイル名>
- ------------------------
- 指定されたファイル名のインストール定義ファイルを呼び出します。 呼び出さ
- れたインストール定義ファイルが終了すると、 呼びだした側のファイルの次の行
- から処理が再開されます。
-
- EXIT
- ------------------------
- インストールを終了します。
-
- コメント
- ------------------------
- インストールファイルに'#'で始まる行を書くと、その行はコメントとして無視
- されます。
-
-
- 追記 C 著作権・免責
-
- C.1 オリジナルパッケージの内容
-
- MercuryInstallerのオリジナルパッケージには、 次のファイルが含まれていま
- す。
-
- +--------------------------------------------+
- |MERCURY .EXE |実行可能プログラム |
- |-------------+------------------------------|
- |MERCURY .DOC |マニュアル(このファイル) |
- |-------------+------------------------------|
- |MAKEFILE. |ソースプログラム |
- |MERCURY .H | |
- |DIETTSR .C | |
- |IDXFILE .C | |
- |INSTALL .C | |
- |MCSTDLIB.C | |
- |MENU .C | |
- |PATTERNM.C | |
- |START .C | |
- |TEXTVIEW.C | |
- |VARS .C | |
- |_CONIO .C | |
- +--------------------------------------------+
-
- C.2 著作権
-
- 本ソフトウェアは、 著作権を放棄していない、いわゆるフリーソフトウェアで
- す。本ソフトウェアに関する一切の権利は、 作者(Delmontaこと飯嶋浩光)が保有
- します。
-
- C.3 使用条件
-
- 本ソフトウェアは、 誰でも自由に使用することができます。企業の業務等への
- 使用もいっさい制限しません。また、個人的な使用の場合は、 いかなる改変をし
- てもかまいません。
- 作者は、 本ソフトウェアの動作保証をしません。本ソフトに欠陥があった場合
- でも、作者に本ソフトウェアの修正を行う義務はないものとします。
- また、本ソフトウェアの使用によりいかなる損害が発生したとしても、 作者は
- それを補償する義務を負わないものとします。
-
- C.4 再配布
-
- 本ソフトウェアを再配布する場合は、 オリジナルパッケージに含まれる全ての
- ファイルを単一のパッケージとして配布してください。 アーカイブの形式などは
- 問いません。 この時、郵送料、メディア代金等の実費を超える金品の授受を禁じ
- ます。
- 雑誌の付録、 パソコン通信への登録など不特定多数への配布となる場合は事後
- で結構ですから作者まで連絡をください。 ただし、日本国外の不特定多数への配
- 布の際、および他のソフトウェアに添付しての配布の際には、 書面による作者の
- 事前の許可が必要です。
- 改変したファイルを含むパッケージの不特定多数への再配布には、 有償、無償
- を問わず書面による作者の許可が必要です。
-
-
- 追記 D 最後に
-
- D.1 開発環境
-
- 本ソフトの開発には、LSI C-86 Ver3.30c試食版を使用し、そのライブラリをリ
- ンクしています。
- 本ソフトには、 しんき氏による「.LZH/.LZSアクセスライブラリ LHACCESS
- Ver0.93」を使用しています。これは、雑誌「Oh! FM TOWNS」93年夏の特別号の付
- 録「太っ腹FD平成6号」に収録されたものです。なおこのライブラリの作成にあた
- って、しんき氏は吉崎栄泰氏のソースプログラムを参考にしています。
-
- D.2 プログラマの方へ
-
- LHACCESSライブラリは、ソースをそのままLSI Cで再コンパイルしても、正常に
- は動作しません。正常に動作させるには、次のような改造が必要です。
-
- 1) DECODE.Cの先頭付近で定義されているマクロREADWORD/READDWORDは、 式
- は必ず左から順に評価されるということを前提に書かれています。 しか
- し、これはANSIなどの規格では保証されていません(現に、LSI Cでは逆
- 順になるようです)ので、 次のように関数として実装する必要がありま
- す。
-
- 1 unsigned int READWORD(FILE *X)
- 2 {
- 3 unsigned int a = READBYTE(X);
- 4
- 5 return a + (READBYTE(X)<<8);
- 6 }
- 7
- 8 /* READDWORDも同様 */
-
- 2) 関数get_LZHHDR2で、ファイル名の比較のためにstrcmpを使用しています
- が、MS-DOSではファイル名の大文字と小文字が区別されないので、 大文
- 字と小文字を区別しない(ただし全角の大文字と小文字は区別する)関数
- に置き換えてください。
-
- D.3 連絡先
-
- D.4 参考文献
-
- o 富士通「日本語MS-DOS(R) V5.0 ユーザーズリファレンス」
- o Teddy Matsumoto「DIETAPI仕様書 version1.44」
- o MIYAZAKI「フリーウェア検索・インストールソフトHELPER 仕様書」、 フ
- リーソフトウェアコレクション9、富士通
- o しんき「.LZH/.LZSアクセスライブラリ LHACCESS」、Oh!FM TOWNS 93年夏
- の特別号(8月号相当)、ソフトバンク
- o 藤原博文「Cプログラミング診断室」第9章「最長不倒関数」、技術評論社
- o きだあきら「ANSI C|more」第19回「評価と副作用」、C MAGAZINE 93年6
- 月号、ソフトバンク
-
-